package com.jt.controller;

import com.jt.pojo.Item;
import com.jt.service.ItemService;
import com.jt.vo.ItemVO;
import com.jt.vo.PageResult;
import com.jt.vo.SysResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@CrossOrigin
@RequestMapping("/item")
public class ItemController {

    @Autowired
    private ItemService itemServicel;

    /**
     * 需求: 利用分页展现user列表数据
     * URl: /item/getItemList
     * 请求类型: get 使用PageResult对象接收
     * 参数:url?query=&pageNum=1&pageSize=10
     * 返回值: SysResult对象(PageResult对象)
     */
    @GetMapping("/getItemList")
    public SysResult getItemList(PageResult pageResult){
        pageResult = itemServicel.getItemList(pageResult);
        return SysResult.success(pageResult);
    }
    /**
     * 需求: 商品状态修改
     * URl: /item/updateItemStatus
     * 请求类型: put
     * 参数:  对象接收
     * 返回值: SysResult对象()
     */
    @PutMapping("/updateItemStatus")
    public SysResult updateItemStatus(@RequestBody Item item){
        itemServicel.updateItemStatus(item);
        return SysResult.success(item);
    }
    /**
     * 需求: 商品数据删除
     * URl: /item/deleteItemById
     * 请求类型: delete
     * 参数:  对象接收
     * 返回值: SysResult对象()
     */
    @DeleteMapping("/deleteItemById")
    public SysResult deleteItemById(Integer id){
        itemServicel.deleteItemById(id);
        return SysResult.success();
    }
    /**
     * 需求: 商品新增操作
     * URl: http://localhost:8091/item/saveItem
     * 请求类型: post
     * 参数:  form表单的提交对象 ItemVO对象接收
     * 返回值: SysResult对象()
     */
    @PostMapping("/saveItem")
    public SysResult saveItem(@RequestBody ItemVO itemVO){
        itemServicel.saveItem(itemVO);
        return SysResult.success();
    }
}
